const express = require("express");
const fs = require("fs");
const path = require("path");

//创建应用对象
const expressmodel = express();

//所有请求 都需要保存url和Ip地址到access.log文件中，引入中间件

//声明全局中间件函数（调用本页面的任何路由函数，都会先执行全局中间件函数）
function recordMiddleware(req,res,next){
    //获取url和ip
    let {url,ip} = req;
        
    //将信息保存到文件access.log
    fs.appendFileSync(path.resolve(__dirname,'./access.log'),`${url} ${ip} \r\n`);

    //调用next
    next(); // 中间件函数执行完，执行路由回调
}

//使用中间件函数
expressmodel.use(recordMiddleware); 

//创建路由
//前台
expressmodel.get('/home',(req,res)=>{
    res.send("前台首页");
})
//后台
expressmodel.get('/admin',(req,res)=>{
    res.send("后台首页");
    
})

expressmodel.all('*',(req,res)=>{
    res.end("404 Not found");
})

expressmodel.listen(4000,()=>{
    console.log("服务已经启动，端口4000正在监听中...");
})